home *** CD-ROM | disk | FTP | other *** search
Makefile | 1993-06-20 | 6.0 KB | 241 lines |
- # Hack or Quest Makefile.
- # SCCS Id: @(#)Makefile.xenix 2.1 87/10/08
-
- # if you are cross-compiling (eg. from Xenix into a Dos enviornment)
- # you will have to redefine these filenames.
- MAIN = unixmain.c
- TTY = unixtty.c
- UNIX = unixunix.c
-
- # on some systems the termcap library is in -ltermcap
- TERMLIB = -ltermlib
- CRT0 =
- LIBS = ${TERMLIB}
-
- # flags may have to be changed as required
- CFLAGS = -LARGE -Ml
- LFLAGS = -Ml
-
- # make NetHack
- GAME = nethack
- GAMEUID = games
- GAMEGRP = bin
- GAMEDIR = /usr/games/lib/$(GAME)dir
- SHELLDIR = /usr/games
- MANDIR = /usr/man/manl
- MANEXT = l
-
- HACKCSRC = apply.c bones.c decl.c\
- cmd.c do.c dothrow.c do_name.c do_wear.c dog.c dogmove.c eat.c end.c\
- engrave.c fight.c fountain.c hack.c invent.c ioctl.c lev.c main.c\
- makemon.c mhitu.c mklev.c mkmaze.c mkobj.c mkshop.c\
- mon.c monmove.c monst.c o_init.c objnam.c options.c\
- pager.c polyself.c potion.c pray.c pri.c prisym.c read.c rip.c\
- rumors.c save.c search.c shk.c shknam.c sit.c spell.c steal.c\
- termcap.c timeout.c topl.c topten.c track.c trap.c tty.c unix.c\
- u_init.c vault.c wield.c wizard.c worm.c worn.c write.c zap.c\
- version.c rnd.c alloc.c
-
- CSOURCES = $(HACKCSRC) makedefs.c
-
- HSOURCES = hack.h mfndpos.h config.h edog.h eshk.h extern.h\
- flag.h func_tab.h gold.h mkroom.h monst.h obj.h\
- objclass.h objects.h permonst.h rm.h spell.h trap.h wseg.h you.h
-
- SOURCES = $(CSOURCES) $(HSOURCES)
-
- AUX = help hh nethack.6 nethack.sh
- VARAUX = data rumors
- SPECIFICS = main.o tty.o unix.o
-
- DISTR = $(SOURCES) $(AUX) $(VARAUX) README.OLD README\
- Makefile.unix Makefile.xenix Makefile.pc Make.ini
-
- HOBJ = apply.o bones.o decl.o cmd.o do.o dothrow.o do_name.o do_wear.o dog.o\
- dogmove.o eat.o end.o engrave.o fight.o fountain.o hack.o\
- invent.o ioctl.o lev.o main.o makemon.o mhitu.o mklev.o\
- mkmaze.o mkobj.o mkshop.o mon.o monmove.o monst.o\
- o_init.o objnam.o options.o pager.o polyself.o potion.o pray.o\
- pri.o prisym.o read.o rip.o rumors.o save.o search.o shk.o shknam.o\
- sit.o spell.o steal.o termcap.o timeout.o topl.o topten.o track.o\
- trap.o tty.o unix.o u_init.o vault.o wield.o wizard.o worm.o worn.o\
- write.o zap.o version.o rnd.o alloc.o
-
- .c.o:
- cc -O -c -Gt24 ${CFLAGS} $*.c
-
- $(GAME): $(SPECIFICS) $(HOBJ) Makefile
- cc $(LFLAGS) -m hack.map -o $(GAME) /lib/Lsignal.o $(CRT0) $(HOBJ) $(LIBS) -SEG#256
-
-
- all: $(GAME) lint
- @echo "Done."
-
- makedefs: makedefs.c Salloc.o config.h
- cc -O -o makedefs Salloc.o makedefs.c
-
- Salloc.o: alloc.c
- cp alloc.c Salloc.c
- cc -O -c Salloc.c
- pc:
- cd dos; make
-
- RUMORFILES= rumors.base rumors.kaa rumors.mrx
-
- rumors: config.h $(RUMORFILES) makedefs
- ./makedefs -r
-
- data: config.h data.base makedefs
- ./makedefs -d
-
- date.h: $(SOURCES) makedefs
- ./makedefs -D
-
- trap.h: config.h makedefs
- ./makedefs -t
-
- onames.h: makedefs objects.h
- ./makedefs -o
-
- main.o: main.c
-
- main.c: unixmain.c hack.h
- cp ${MAIN} main.c
-
- tty.o: tty.c
- cc ${CFLAGS} -c tty.c
-
- tty.c: unixtty.c extern.h
- cp ${TTY} tty.c
-
- unix.c: unixunix.c hack.h mkroom.h
- cp ${UNIX} unix.c
-
- lint:
- # lint cannot have -p here because (i) capitals are meaningful:
- # [Ww]izard, (ii) identifiers may coincide in the first six places:
- # doweararm() versus dowearring().
- # _flsbuf comes from <stdio.h>, a bug in the system libraries.
- @echo lint -axbh -DLINT ...
- @lint -axbh -DLINT $(HACKCSRC) | sed '/_flsbuf/d'
-
-
- diff:
- @- for i in $(SOURCES) $(AUX) ; do \
- cmp -s $$i $D/$$i || \
- ( echo diff $D/$$i $$i ; diff $D/$$i $$i ; echo ) ; done
-
- distribution: Makefile
- @- for i in READ_ME $(SOURCES) $(AUX) Makefile date.h onames.h\
- ; do \
- cmp -s $$i $D/$$i || \
- ( echo cp $$i $D ; cp $$i $D ) ; done
- # the distribution directory also contains the empty files perm and record.
-
- initial:
- -rm -rf $(GAMEDIR)
- -mkdir $(SHELLDIR)
- mkdir $(GAMEDIR) $(GAMEDIR)/save
- touch $(GAMEDIR)/perm
- touch $(GAMEDIR)/record
- touch $(GAMEDIR)/logfile
- chown $(GAMEUID) $(GAMEDIR) $(GAMEDIR)/*
- chgrp $(GAMEGRP) $(GAMEDIR) $(GAMEDIR)/*
- chmod 666 $(GAMEDIR)/*
- chmod 777 $(GAMEDIR) $(GAMEDIR)/save
-
- install: $(VARAUX) $(GAME)
- -rm -f $(GAMEDIR)/$(GAME)
- -rm -f $(GAMEDIR)/bones* $(GAMEDIR)/alock* $(GAMEDIR)/wizard*
- -rm -f $(GAMEDIR)/save/*
- cp help hh rumors data $(GAMEDIR)
- cp $(GAME).sh $(SHELLDIR)/$(GAME)
- cp $(GAME) $(GAMEDIR)/$(GAME)
- chown $(GAMEUID) $(SHELLDIR)/$(GAME) $(GAMEDIR) $(GAMEDIR)/*
- chgrp $(GAMEGRP) $(SHELLDIR)/$(GAME) $(GAMEDIR) $(GAMEDIR)/*
- chmod 0755 $(SHELLDIR)/$(GAME)
- chmod 04755 $(GAMEDIR)/$(GAME)
- -cp nethack.6 $(MANDIR)/$(GAME).$(MANEXT)
-
- debug:
- ln $(GAMEDIR)/$(GAME) a.out
- ln $(GAMEDIR)/core core
-
- clean:
- rm -f *.o
-
- spotless: clean
- rm -f a.out core $(GAME) makedefs
- rm -f Makefile $(VARAUX) main.c tty.c unix.c
-
- decl.o: hack.h mkroom.h
- apply.o: hack.h edog.h mkroom.h
- bones.o: hack.h
- hack.o: hack.h
- cmd.o: hack.h func_tab.h
- do.o: hack.h
- do_name.o: hack.h
- do_wear.o: hack.h
- dog.o: hack.h edog.h mkroom.h
- dogmove.o: hack.h mfndpos.h edog.h mkroom.h
- dothrow.o: hack.h
- eat.o: hack.h
- end.o: hack.h
- engrave.o: hack.h
- fight.o: hack.h
- fountain.o: hack.h mkroom.h
- invent.o: hack.h wseg.h
- ioctl.o: config.h
- lev.o: hack.h mkroom.h wseg.h
- makemon.o: hack.h
- mhitu.o: hack.h
- mklev.o: hack.h mkroom.h
- mkmaze.o: hack.h mkroom.h
- mkobj.o: hack.h
- mkshop.o: hack.h mkroom.h eshk.h
- mon.o: hack.h mfndpos.h
- monmove.o: hack.h mfndpos.h
- monst.o: hack.h eshk.h
- o_init.o: config.h objects.h onames.h
- objnam.o: hack.h
- options.o: hack.h
- pager.o: hack.h
- polyself.o: hack.h
- potion.o: hack.h
- pray.o: hack.h
- pri.o: hack.h
- prisym.o: hack.h wseg.h
- read.o: hack.h
- rip.o: hack.h
- rumors.o: hack.h
- save.o: hack.h
- search.o: hack.h
- shk.o: hack.h mfndpos.h mkroom.h eshk.h
- shknam.o: hack.h
- sit.o: hack.h
- spell.o: hack.h
- steal.o: hack.h
- termcap.o: hack.h
- timeout.o: hack.h
- topl.o: hack.h
- topten.o: hack.h
- track.o: hack.h
- trap.o: hack.h edog.h mkroom.h
- u_init.o: hack.h
- vault.o: hack.h mkroom.h
- wield.o: hack.h
- wizard.o: hack.h
- worm.o: hack.h wseg.h
- worn.o: hack.h
- write.o: hack.h
- zap.o: hack.h
- version.o: hack.h date.h
- extern.h: config.h spell.h obj.h
- touch extern.h
- hack.h: extern.h flag.h gold.h monst.h objclass.h rm.h trap.h you.h
- touch hack.h
- objects.h: config.h objclass.h
- touch objects.h
- you.h: config.h onames.h permonst.h
- touch you.h
-